This disclosure relates to computer animation and computer generated imagery. More specifically, this disclosure relates to techniques for transferring information from one computer model to another.
With the wide-spread availability of computers, animators and computer graphics artists can rely upon computers to assist in the animation and computer generated imagery process. This may include using computers to have physical models be represented by virtual models in computer memory. This may also include using computers to facilitate animation, for example, by the designing, posing, deforming, coloring, painting, or the like, of characters or other elements of a computer animation display.
Pioneering companies in the computer-aided animation/computer generated imagery (CGI) industry can include Pixar. Pixar is more widely known as Pixar Animation Studios, the creators of animated features such as “Toy Story” (1995) and “Toy Story 2” (1999), “A Bugs Life” (1998), “Monsters, Inc.” (2001), “Finding Nemo” (2003), “The Incredibles” (2004), “Cars” (2006), “Ratatouille” (2007), and others. In addition to creating animated features, Pixar develops computing platforms specially designed for computer animation and CGI, now known as RenderMan®. RenderMan® is now widely used in the film industry and the inventors of the present invention have been recognized for their contributions to RenderMan® with multiple Academy Awards®.
One core functional aspect of RenderMan® software can include the use of a “rendering engine” to convert geometric and/or mathematical descriptions of objects or other models into images. This process is known in the industry as “rendering.” For movies or other features, a user (e.g., an animator or other skilled artist) specifies the geometric description of a model or other objects, such as characters, props, background, or the like that may be rendered into images. An animator may also specifying poses and motions for objects or portions of the objects. In some instances, the geometric description of objects may include a number of animation variables (avars), and values for the avars.
The production of animated features and CGI may involve the extensive use of computer graphics techniques to produce a visually appealing image from the geometric description of an object or model that can be used to convey an element of a story. One of the challenges in creating models for use in animated features can be balancing the desire for a visually appealing image of a character or other object with the practical issues involved in allocating the computational resources required to produce those visually appealing images. Often the geometric descriptions of objects or models at various stages in a feature film production environment may be rough and course, lacking the realism and detail that would be expected of the final production.
Computer generated imagery and animation typically can involve creating models for objects that are elements of a scene. One aspect of creating a model for use in computer generated imagery and animation can be to construct the object in a true 3-dimensional coordinate system. Sometimes, objects can be sculpted, much like real clay or plaster, working from general forms to specific details with various sculpting tools. Often, a model can be created by applying or fitting a topology (e.g., using a mesh of geometrical vertices, faces, and edges) to an object's form.
In a process called rigging, models can be given various controllers, animation variables, and handles for an animator to manipulate various locations of the object's topology to create complex movements and motions. For some models, a bone/joint system can be set up to deform various locations of the object's topology. For example, the bone/joint system can be connected to foot, ankle, knee, hip, and other leg locations of a humanoid model to provide the structure to make the humanoid model walk. Other types of information may also be “hung” on the object's topology to add further realism or additional control for the animator. In other words, information may be associated with a vertex, edge, span, or face of the mesh that forms to the object's topology. However, the above processes can be very involved and time consuming to simply generate a single model.
Additionally, a typical feature-length animation may require hundreds to thousands of model. This increase the production time and cost of the animation if each model may be required to be hand created and setup. One possible solution can be to hand copy the information from one model to another. However, this process still requires an animator to place or “hang” the copied data onto the correct position of the new objects topology. Rarely are each characters exactly the same, so each character's topology can have some differences that the animator has to deal with.
One issue with the production process is the time and effort involved when an animator undertakes to create the geometric description of a model and the models associated avars, rigging, shader variables, paint data, or the like. Even with models that lack the detail and realism expected of the final production, it may take several hours to several days for an animator to design, rig, pose, paint, or otherwise prepare the model for a given state of the production process. Further, although the model need not be fully realistic at all stages of the production process, it can be desirable that the animator or artist producing the model be able to modify certain attributes of the model at any stage. However, modifying the model during the production process may also involved significant time and effort. Often, there may not be sufficient time for desired modifications in order to maintain a release schedule.
Accordingly, what is desired are improved methods and apparatus for solving some of the problems discussed above, while reducing further drawbacks, some of which are discussed above.